Computer devices conventionally operate using an alternating current (AC) power source. A mobile computer device, such as a laptop, additionally may operate with power supplied by a battery providing direct current (DC) power. Regardless of whether a device is using AC or DC power, it may implement one or more “sleep” modes in order to save power.
In a sleep mode, one or more components of the device may be disabled. For example, a screen or other display device may be turned off to implement a sleep mode. Other components such as a processor or wireless transceiver may be shut down. In some instances, devices implement different sleep levels, with successively more components turned off in each deeper sleep mode.
A device may enter a sleep mode in one or more ways. If a device has not been in use for a certain time, it may automatically enter a sleep mode. The device may also enter a sleep mode upon a user input (e.g., pressing of a pause or standby button). To exit the sleep mode and resume normal operations, the device transitions to an active mode, or wakes up.
Different events may trigger a device to transition from a low power mode to another power mode. For example, an event such as moving a computer mouse, pressing a key on a keyboard or receiving a message may cause the device to “wake up” and enter the active mode. Also, the device may have a timer that causes the device to wake up when the timer expires. When the device wakes up, it can perform scheduled maintenance of software or execute applications (e.g., to record a video program). In a mobile device operating on a battery, transition from a low power mode to a lower power mode may be performed automatically.
On known computer platforms, Operating System Power Management (OSPM) may direct programming of the wake-up timer. The OSPM can program an alarm for an event and may then control transitioning of the platform to a wake-up mode by communicating with the platform Real-Time Clock (RTC). When a current time of the computer device matches the alarm time, the RTC causes the device to wake up. Conventionally, one RTC alarm may be programmed at a time.
The RTC alarm may be implemented by an Advanced Configuration and Power Interface (ACPI)-enabled computer device. Computer devices increasingly employ ACPI that is a standard specification providing power control and management between the hardware platform and OSPM. ACPI is implemented by the platform hardware and firmware as well as by OSPM and defines interfaces for power management and monitoring that are presented to an operating system (OS) in a hardware-independent manner. A computer device employing ACPI can be placed in one of several power states. In ACPI-compliant devices, the Basic Input/Output System (BIOS), hardware and associated power management components use a standard approach that enables the OS to manage transitions between different power states.
Conventionally, the RTC alarm wakes the computer device regardless of a current operating power source. Thus, the computer device may wake up from a sleep mode when the device is powered by an AC power source or a battery. As a result, the RTC alarm may expire when a mobile device operating on the battery is in a thermally constrained environment, such as an overhead compartment on an airplane or in a carrying bag. In such scenarios, after waking up, the mobile device does not transition back to a sleep mode and may overheat. Overheating can degrade performance and can damage underlying hardware. Moreover, a user experience may be compromised because the battery may discharge sooner than expected by a user who is then not able to use the computer device.
A known solution to the above problem is to prevent the RTC alarm from waking a device from a sleep mode when the device operates on a battery power.